/*
 * Vue应用主入口文件
 * 
 * 功能说明：
 * 1. 初始化Vue应用实例
 * 2. 配置全局插件和工具
 * 3. 挂载应用到DOM元素
 * 

 */

// 导入Vue核心库
import Vue from 'vue'
// 导入根组件App.vue
import App from './App'
// 导入路由配置
import router from './router'
// 导入图表库，用于数据可视化
import echarts from 'echarts'
// 导入HTTP客户端，用于与后端API通信
import axios from 'axios'
// 导入Element UI组件库
import ElementUI from 'element-ui'
// 导入Element UI的样式文件
import 'element-ui/lib/theme-chalk/index.css'
// 导入Vue Cookie插件，用于处理浏览器cookie
import VueCookies from 'vue-cookies'
// 导入Vuex状态管理
import store from '@/vuex/store'

// 使用Element UI组件库，注册所有组件
Vue.use(ElementUI)
// 使用Vue Cookie插件，用于存储用户登录信息等
Vue.use(VueCookies)

// 关闭Vue的生产环境提示
Vue.config.productionTip = false

// 创建全局事件总线，用于组件间通信
Vue.prototype.bus = new Vue()
// 将echarts挂载到Vue原型上，所有组件都可以通过this.$echarts访问
Vue.prototype.$echarts = echarts
// 将axios挂载到Vue原型上，所有组件都可以通过this.$axios访问
Vue.prototype.$axios = axios

// 创建Vue应用实例
new Vue({
  el: '#app', // 挂载到id为app的DOM元素
  router, // 注入路由
  store, // 注入状态管理
  render: h => h(App), // 渲染根组件App
  components: { App }, // 注册App组件
  template: '<App/>' // 使用App组件作为模板
})
